import { getToken } from '@/utils/auth'

// 登录页面
const loginPage = "/pages/login/login"
  
// 页面白名单
// const whiteList = [
  // '/pages/login/login', 
  // '/pages/register/register',
  // '/pages/index/index',
  // '/pages/statistics/statistics',
  // '/pages/homestay/homestay'
// ]

// 页面黑名单
const authList = [
]

// 检查地址白名单
// function checkWhite(url) {
  // const path = url.split('?')[0]
  // return whiteList.indexOf(path) !== -1
// }

//检查黑名单地址
function isAuthRequired(url) {
  const path = url.split('?')[0]
  return authList.includes(path)
}

// 页面跳转验证拦截器
// let list = ["navigateTo", "redirectTo", "reLaunch", "switchTab"]
// list.forEach(item => {
//   uni.addInterceptor(item, {
//     invoke(to) {
//       if (getToken()) {
//         if (to.url === loginPage) {
//           uni.reLaunch({ url: "/pages/index/index" })
//         }
//         return true
//       } else {
//         if (checkWhite(to.url)) {
//           return true
//         }
//         uni.reLaunch({ url: loginPage })
//         return false
//       }
//     },
//     fail(err) {
//       console.log(err)
//     }
//   })
// })
// 路由拦截器设置
['navigateTo', 'redirectTo', 'reLaunch', 'switchTab'].forEach(method => {
  uni.addInterceptor(method, {
    invoke(to) {
      if (getToken()) {
        // 已登录用户访问登录页 → 重定向到首页
        if (to.url === loginPage) {
          uni.reLaunch({ url:"/pages/index/index"})
          return false
        }
        return true  // 允许访问其他页面
      } else {
        // 未登录用户访问黑名单页面 → 跳转登录页
        if (isAuthRequired(to.url)) {
          uni.reLaunch({ url: loginPage })
          return false
        }
        return true  // 允许访问非黑名单页面
      }
    },
    fail(err) {
      console.error('路由跳转失败:', err)
    }
  })
})